<template id='zyLoading'>
    <div class="zyLoading">
        <div class="loadingBg" :class="[{ isShow: options }, { isHidden: !options }]" v-if="isShow">
            <img :src="loadingOut" class="loadingOut" @dragstart.prevent />
            <img :src="loadingIn" class="loadingIn" @dragstart.prevent />
        </div>

    </div>
</template>

<script>
// 这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）

export default {
    name: '',
    components: {
    },
    // 定义属性
    data() {
        return {
            isShow: false,
            icon: require('@/assets/images/components/pc/loading.png'),
            loadingOut: require('@/assets/images/components/pc/loadingOut.png'),
            loadingIn: require('@/assets/images/components/pc/loadingIn.png'),
        }
    },
    props: {
        options: {
            type: Boolean,
            default: false,
        }
    },
    // 计算属性，会监听依赖属性值随之变化
    computed: {
    },
    // 监控data中的数据变化
    watch: {
        options: {
            handler(newName, oldName) {
                setTimeout(() => {
                    this.isShow = newName
                }, 500)
            },
            immediate: true,
            deep: true
        }
    },
    // 方法集合
    methods: {
    },
    // 生命周期 - 创建完成（可以访问当前this实例）
    created() {

    },
    // 生命周期 - 挂载完成（可以访问DOM元素）
    mounted() {

    },
    beforeCreate() { }, // 生命周期 - 创建之前
    beforeMount() { }, // 生命周期 - 挂载之前
    beforeUpdate() { }, // 生命周期 - 更新之前
    updated() { }, // 生命周期 - 更新之后
    beforeDestroy() { }, // 生命周期 - 销毁之前
    destroyed() { }, // 生命周期 - 销毁完成
    activated() { }, // 如果页面有keep-alive缓存功能，这个函数会触发
}
</script>

<style lang='less' scoped>
.zyLoading {
    .loadingBg {
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        // background-color: rgba(0, 0, 0, 0.71);

        .loadingOut {
            -webkit-animation: loading-rotate 3.5s ease-in-out infinite both;
            animation: loading-rotate 3.5s ease-in-out infinite both;
            position: relative;
        }

        .loadingIn {
            -webkit-animation: loading-rotate 5.5s ease-in-out infinite both reverse;
            animation: loading-rotate 5.5s ease-in-out infinite both reverse;
            position: absolute;
        }

    }

    .isShow {
        -webkit-animation: fade-in 0.5s forwards;
        animation: fade-in 0.5s forwards;
    }

    .isHidden {
        -webkit-animation: fade-out 0.5s ease-out forwards;
        animation: fade-out 0.5s ease-out forwards;
    }


}
</style>